Compiling Non-strict Functional Languages for the .NET Platform
نویسندگان
چکیده
In this work, we propose a compilation strategy for non-strict functional languages targeting the Microsoft .NET Platform, a multilanguage platform which provides a large number of services to aid current software development. This strategy is based on the push/enter execution model, enables fast function calling mechanisms whenever possible and males use of new features present in .NET Framework, such as delegates and tail calls. Our case study was the compilation of the Haskell language, a standardized and well known non-strict functional language. Our main contribution is the construction of an environment for the testing of different compilation techniques for functional languages targeting .NET.
منابع مشابه
Partitioning Non-strict Functional Languages for Partitioning Non-strict Functional Languages for Multi-threaded Code
In this paper, we present a new approach to partitioning, the problem of generating sequential threads for programs written in a non-strict functional language. The goal of partitioning is to generate threads as large as possible, while retaining the non-strict semantics of the program. We deene partitioning as a program transformation and design algorithms for basic block partitioning and inte...
متن کاملLet--oating: Moving Bindings to Give Faster Programs
Virtually every compiler performs transformations on the program it is compiling in an attempt to improve eeciency. Despite their importance, however, there have been few systematic attempts to categorise such transformations and measure their impact. In this paper we describe a particular group of transformations | the \let-oating" transformations | and give detailed measurements of their eeec...
متن کاملCompiling Computer Programs Through Internet
This paper describes a software package, which allows students compiling programs using web-based interface and Internet connections. Several different computer languages such as C, C++, Fortran, Pascal, and JAVA are implemented. In case of some languages several different compilers can be used and different error messages received. This helps students to track their errors. The access to compi...
متن کاملMapping Activity Diagram to Petri Net: Application of Markov Theory for Analyzing Non-Functional Parameters
The quality of an architectural design of a software system has a great influence on achieving non-functional requirements of a system. A regular software development project is often influenced by non-functional factors such as the customers' expectations about the performance and reliability of the software as well as the reduction of underlying risks. The evaluation of non-functional paramet...
متن کاملCompiling Scheme programs to .NET Common Intermediate Language
This paper presents the compilation of the Scheme programming language to .NET platform. .NET provides a virtual machine, the Common Language Runtime (CLR), that executes bytecode: the Common Intermediate Language (CIL). Since CIL was designed with language agnosticism in mind, it provides a rich set of language constructs and functionalities. Therefore, the CLR is the first execution environme...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- J. UCS
دوره 11 شماره
صفحات -
تاریخ انتشار 2005